﻿namespace Cecil.Decompiler.Gui.Controls
{
    internal enum Icons
    {
        Empty,

        PublicNamespace,
        FriendNamespace,
        ProtectedFriendNamespace,
        ProtectedNamespace,
        PrivateNamespace,
        LinkedNamespace,

        PublicClass,
        FriendClass,
        ProtectedFriendClass,
        ProtectedClass,
        PrivateClass,
        LinkedClass,

        PublicInterface,
        FriendInterface,
        ProtectedFriendInterface,
        ProtectedInterface,
        PrivateInterface,
        LinkedInterface,

        PublicStructure,
        FriendStructure,
        ProtectedFriendStructure,
        ProtectedStructure,
        PrivateStructure,
        LinkedStructure,

        PublicEnum,
        FriendEnum,
        ProtectedFriendEnum,
        ProtectedEnum,
        PrivateEnum,
        LinkedEnum,

        PublicDelegate,
        FriendDelegate,
        ProtectedFriendDelegate,
        ProtectedDelegate,
        PrivateDelegate,
        LinkedDelegate,

        PublicUnknown1,
        FriendUnknown1,
        ProtectedFriendUnknown1,
        ProtectedUnknown1,
        PrivateUnknown1,
        LinkedUnknown1,

        PublicUnknown2,
        FriendUnknown2,
        ProtectedFriendUnknown2,
        ProtectedUnknown2,
        PrivateUnknown2,
        LinkedUnknown2,

        PublicConstructor,
        FriendConstructor,
        ProtectedFriendConstructor,
        ProtectedConstructor,
        PrivateConstructor,
        LinkedConstructor,

        PublicSharedConstructor,
        FriendSharedConstructor,
        ProtectedFriendSharedConstructor,
        ProtectedSharedConstructor,
        PrivateSharedConstructor,
        LinkedSharedConstructor,

        PublicMethod,
        FriendMethod,
        ProtectedFriendMethod,
        ProtectedMethod,
        PrivateMethod,
        LinkedMethod,

        PublicSharedMethod,
        FriendSharedMethod,
        ProtectedFriendSharedMethod,
        ProtectedSharedMethod,
        PrivateSharedMethod,
        LinkedSharedMethod,

        PublicOverrideMethod,
        FriendOverrideMethod,
        ProtectedFriendOverrideMethod,
        ProtectedOverrideMethod,
        PrivateOverrideMethod,
        LinkedOverrideMethod,

        PublicSharedOverrideMethod,
        FriendSharedOverrideMethod,
        ProtectedFriendSharedOverrideMethod,
        ProtectedSharedOverrideMethod,
        PrivateSharedOverrideMethod,
        LinkedSharedOverrideMethod,

        PublicField,
        FriendField,
        ProtectedFriendField,
        ProtectedField,
        PrivateField,
        LinkedField,

        PublicSharedField,
        FriendSharedField,
        ProtectedFriendSharedField,
        ProtectedSharedField,
        PrivateSharedField,
        LinkedSharedField,

        PublicEnumValue,
        FriendEnumValue,
        ProtectedFriendEnumValue,
        ProtectedEnumValue,
        PrivateEnumValue,
        LinkedEnumValue,


        PublicProperty,
        FriendProperty,
        ProtectedFriendProperty,
        ProtectedProperty,
        PrivateProperty,
        LinkedProperty,

        PublicSharedProperty,
        FriendSharedProperty,
        ProtectedFriendSharedProperty,
        ProtectedSharedProperty,
        PrivateSharedProperty,
        LinkedSharedProperty,

        PublicReadOnlyProperty,
        FriendReadOnlyProperty,
        ProtectedFriendReadOnlyProperty,
        ProtectedReadOnlyProperty,
        PrivateReadOnlyProperty,
        LinkedReadOnlyProperty,

        PublicSharedReadOnlyProperty,
        FriendSharedReadOnlyProperty,
        ProtectedFriendSharedReadOnlyProperty,
        ProtectedSharedReadOnlyProperty,
        PrivateSharedReadOnlyProperty,
        LinkedSharedReadOnlyProperty,

        PublicWriteOnlyProperty,
        FriendWriteOnlyProperty,
        ProtectedFriendWriteOnlyProperty,
        ProtectedWriteOnlyProperty,
        PrivateWriteOnlyProperty,
        LinkedWriteOnlyProperty,

        PublicSharedWriteOnlyProperty,
        FriendSharedWriteOnlyProperty,
        ProtectedFriendSharedWriteOnlyProperty,
        ProtectedSharedWriteOnlyProperty,
        PrivateSharedWriteOnlyProperty,
        LinkedSharedWriteOnlyProperty,

        PublicEvent,
        FriendEvent,
        ProtectedFriendEvent,
        ProtectedEvent,
        PrivateEvent,
        LinkedEvent,

        PublicSharedEvent,
        FriendSharedEvent,
        ProtectedFriendSharedEvent,
        ProtectedSharedEvent,
        PrivateSharedEvent,
        LinkedSharedEvent,

        Assembly,
        LinkedAssembly,
        @Module,
        LinkedModule,
        References,
        Resources
    }
}

